/*
 * 意见反馈管理
 * @author 曾文
 * @time 2018/9/26
 * @since 1.0.0
 * */
import React from 'react'
import { connect } from 'dva'
import { Form,message} from 'antd'
import { Link, hashHistory } from 'dva/router'
import FlagBtn from 'widget/FlagBtn/FlagView'
import config from 'config/config'
import { mapStateToProps } from 'utils/view_utils'
import styles from './playerInfoListStyle.less'
import ListPage from 'widget/PageTmpl/ListPage'
import { Button } from 'antd/lib/radio';
import cx from 'classnames'
let subElements = JSON.parse(localStorage.getItem('navBar')).subElements
const routeView = function ({ dispatch, model, form }) {

    const { resetFields, getFieldDecorator, validateFields, setFieldsValue } = form
    const { modelObj, namespace} = model
    let {gameActivityId,biz,areaList} = modelObj
    // debugger
    function paramsUrl(obj) {
      let result = '';
      let item;
      for (item in obj) {
        if (obj[item] && String(obj[item])) {
          result += `&${item}=${obj[item]}`;
        }
      }
      if (result) {
        result = '?' + result.slice(1);
      }
      return result;
    }
      // 分页表格属性配置
  let pageProps = {
    // ---------- 界面部分 ----------
    'ui': {
      // 页面接口地址
      'api_url': 'mideadc-game-center-service/activity/gameActivityUser/list',
      // "api_url": "admin/housetype/list",
      "data_field_name":"result.records",
      "data_pageNo":"result.current",
      "data_pageSize":"result.size",
      "data_total":"result.total",
      // 接口方式
      'method': 'POST',
      'app': 'isales-mgmt-application',
      // 接口参数
      'params': `gameActivityId=${gameActivityId}`,
      // 模拟数据 - 用于开发需要，若填充了上面的api_url之后，请将此项设置为null
      // "mockData": mockData,
      'mockData': null,
      // 查询栏
      'search_bar': {
        'fields': [
          {
            en_name: 'province',
            zh_name: '省市',
            elem_type: 'Cascader',
            elem_valid_type: 'string',
            cmpt_items: areaList,
            //关联的更改的搜索字段 
            //请求地址
            related_req_url: 'mideadc-game-center-service/activity/gameActivityUser/list',
            //默认请求
            related_req_param: {
              pageNo: 1,
              pageSize: 1000
            },
            split_keys: ['provinceCode', 'cityCode'],
          },
          {
            en_name: "validTime",
            zh_name: "新增玩家时间",
            elem_type: "Date",
            format: "YYYY-MM-DD HH:mm:ss",
            query_format:'YYYY-MM-DD HH:mm:ss',
            double: true,
            // query_format: "YYYY-MM-DD HH:mm:ss",   // 请求参数, 当请求参数和显示时格式不同可通过该参数区分
            // double: true,  // 日期范围组件 使用"YYYY-MM-DD HH:mm:ss"格式时, 显示不全时可使用该参数, 将占据两格位置
            split_keys: ['firstParticipationTime', 'lastParticipationTime'],
            elem_valid_type: "string"
          },
          {
            en_name: 'nickname',
            zh_name: '微信昵称',
            elem_type: 'Input',
            elem_valid_type: 'string',
            cmpt_items: [],
          },
          {
            en_name: 'mobilePhone',
            zh_name: '客户号码',
            elem_type: 'Input',
            elem_valid_type: 'string',
            cmpt_items: [],
          },
          // {
          //   en_name: 'projectId',
          //   zh_name: '创建人',
          //   elem_type: 'Select',
          //   elem_valid_type: 'string',
          //   cmpt_items: [],
          // },
        ],
        searchHandler: (p) => { // 自定义搜索按钮回调函数，点击搜索时触发
          console.log('search click', p)
        },
        resetHandler: (p) => { // 自定义重置按钮回调函数，点击重置时触发
          console.log('reset click', p)
        },
        searchCallback: params => { // 自定义搜索完成后的后调函数, 搜索完成后触发, 并将本次搜索的参数传入
          console.log('search finish', params)
        },
        pasteTargetList: [  // 列表组件中将输入框的en_name作为默认id(也可以通过id另外设置)
          'carName',  // 将需要粘贴事件拦截的输入框id以数组的形式传入, 该参数对应PasteFromClipboard组件的targetList参数
        ]
      },
      // 数据表格
      'table': {
        'status_params': 'status=0',
        'status_text': '全部',
        'scroll': { x: 2000 },
        'action_props': { width: 200 },
        // 表头字段列表"
        'fields': [
          {
            en_name: "key",
            zh_name: "序号",
            width: 60,
            render: (a, item, index, d, e, f) => {
              return index + 1
            },
          },
          {
            'en_name': 'cityName',
            'zh_name': '城市',
            width: 200
          },
          {
            'en_name': 'nickname',
            'zh_name': '微信昵称',
            width: 200
          },
          {
            'en_name': 'mobilePhone',
            'zh_name': '客户手机',
            width: 100,
            // render: (a, item, index, d, e, f) => {
            // }
          },
          {
            'en_name': 'roleName',
            'zh_name': '角色名称',
            width: 200
          },
          {
            'en_name': 'firstParticipationTime',
            'zh_name': '首次参与活动时间',
            width: 200,
          },
          {
            'en_name': 'lastParticipationTime',
            'zh_name': '末次参与活动时间',
            width: 200
          },
          {
            'en_name': 'sharingNumber',
            'zh_name': '分享数',
            width: 150,
            // render: (a, item, index, d, e, f) => {
            // }
          },
          {
            'en_name': 'assistanceNumber',
            'zh_name': '助力人数',
            width: 150,
          },
          {
            'en_name': 'luckDrawNumber',
            'zh_name': '抽奖次数',
            width: 120,
          },
          {
            'en_name': 'winnerNumber',
            'zh_name': '中奖次数',
            width: 120,
          },
          {
            'en_name': 'sourceApp',
            'zh_name': '来源app',
            width: 150,
          },
          /*{
            'en_name': 'prizeFlag',
            'zh_name': '是否中奖',
            width: 150,
            render: (a, item, index, d, e, f) => {
              if(item.prizeFlag==0){
                return <div>否</div>
              }else{
                return <div>是</div>
              }
            }
          },*/
          // {
          //   'en_name': 'availCount',
          //   'zh_name': '操作',
          //   width: 300,
          //   render: (a, item, index, d, e, f) => {
          //     return (
          //       <span>
          //         <FlagBtn node={<a onClick={() => giftInfoSkip('check', item)}>预览<span className="ant-divider" style={{ display: 'inline-block' }} /></a>} btnId={'20502'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>发布<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>玩家<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>奖品<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>统计<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>复制链接<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>编辑<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //         <FlagBtn node={<a onClick={() => detailSkip('edit', item.productId)}>删除<span className="ant-divider" /></a>} btnId={'20503'}> </FlagBtn>
          //       </span>
          //     )
          //   },
          // },
        ],
      },
      // 操作栏
      action_bar: [
        {
          'func_name': 'add',
          'label': '导出',
          btnId: '20501',
          'type': 'primary',
          'onClick': (e,row) => {
            let query = { ...biz.queryForm,...{gameActivityId}}
            // debugger
            // let fileName = "玩家信息.xls";
            // debugger
            // let url = `${window.location.origin}/activity/gameActivityUser/exportXls/${paramsUrl(query)}`
            // // debugger
            // let link = document.createElement("a");
            // link.style.display = "none";
            // link.href = url;
            // // link.setAttribute("download", fileName);
            // document.body.appendChild(link);
            // link.click();
            // document.body.removeChild(link); //下载完成移除元素
            // window.URL.revokeObjectURL(url); //释放掉blob对象
            // message.success('操作成功')
            dispatch({
              type: `${namespace}/playerExportXls`,
              payload: {...query}
            })
          }
        },
      ],
    },
  }
  if (!!modelObj.biz) {
    pageProps.biz = modelObj.biz
    pageProps.biz.syncBackCbf = (biz) => {
      dispatch({
        type: `${namespace}/updateStore`,
        payload: { biz }
      })
    }
  }

    return (
        <div className={cx('pageLayout')}>
            <ListPage pageProps={pageProps} />
        </div>
    )
}
export default connect(mapStateToProps)(Form.create()(routeView))
